package org.fhnw.aigs.server.gameHandling;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
* Opens the log file folder.<br>
* v1.0 Initial release<br>
* v1.1 Handling changed
* @version v1.1 (Raphael Stoeckli, 28.10.2014)
* @author Matthias Stöckli (v1.0)
*/
public class ShowLogsAction implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
showLogs();
}
/**
* Opens the "logs" folder if possible.
*/
public void showLogs(){
try {
File logFolder = null;
if(ServerConfiguration.getInstance().getTempLogsDirectory().equals(""))
{
logFolder = new File(ServerConfiguration.getInstance().getLogDirectory() + "/");
}
else
{
logFolder = new File(ServerConfiguration.getInstance().getTempLogsDirectory()+ "/"); // use old value until restart
}
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().open(logFolder);
} else {
JOptionPane.showMessageDialog(null, "Not supported on this OS.", "Not supported.", JOptionPane.WARNING_MESSAGE);
}
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage(), "Could not read logs path.", JOptionPane.ERROR_MESSAGE);
Logger.getLogger(ShowLogsAction.class.getName()).log(Level.SEVERE, "Could not read logs path.", ex);
}
catch (Exception ex) // All other exceptions
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "An unknown error occured.", ex);
}
}
}